Flexible Component Design